#pragma once

#include <vector>

#include <GL\glew.h>
#include <GL\freeglut.h>

#include <glm\glm.hpp>
#include <glm/gtc/matrix_transform.hpp>


class Escalon {
public:
	// Las dimensiones en cantidad de vertices
	Escalon(float profundidad, float altura);
	~Escalon();

	void dibujar(const glm::mat4 &viewMatrix, const glm::mat4 &projectionMatrix, const glm::vec4 &light_position, const glm::vec3 &light_intensity, const glm::mat4 &model, GLuint shaderProgramID) const;

private:

	// La profundidad de cada escalon
	const float m_profundidad;

	// La altura de cada escalon
	const float m_altura;

    GLfloat* m_vertex_buffer;
    GLfloat* m_normal_buffer;
    GLuint* m_index_buffer;

    unsigned int m_vertex_buffer_size;
    unsigned int m_normal_buffer_size;
    unsigned int m_index_buffer_size;

};
